#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
	int* p1 = (int*)malloc(10 * sizeof(int));
	if (p1 == NULL)
	{
		perror("malloc");
		return 1;
	}
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		p1[i] = i + 1;
	}
	for (i = 0; i < 10; i++)
		printf("%d ", p1[i]);

	free(p1);
	p1 = NULL;
	printf("\n");

	int* p2 = (int*)calloc(10, sizeof(int));
	if (p2 == NULL)
	{
		perror("calloc");
		return 1;
	}
	for (i = 0; i < 5; i++)
	{
		p2[i] = i + 1;
	}
	for (i = 0; i < 10; i++)
		printf("%d ", p2[i]);
	printf("\n");

	int* p3 = realloc(p2, 60);
	if (p3 == NULL)
	{
		perror("realloc");
		return 1;
	}
	else
	{
		p2 = p3;
		p3 = NULL;
	}
	for (i = 10; i < 15; i++)
		p2[i] = i + 1;
	for (i = 0; i < 15; i++)
		printf("%d ",p2[i]);
	free(p2);
	p2 = NULL;

	return 0;
}

//int main()
//{
//	int i = 0;
//	int j = 0;
//	int** p = (int**)malloc(3 * sizeof(int*));
//	for (i = 0; i < 3; i++)
//		p[i] = (int*)malloc(5 * sizeof(int));
//	for (i = 0; i < 3; i++)
//	{
//		for (j = 0; j < 5; j++)
//		{
//			p[i][j] = i + j;
//		}
//	}
//	for (i = 0; i < 3; i++)
//	{
//		for (j = 0; j < 5; j++)
//			printf("%d ", p[i][j]);
//		printf("\n");
//	}
//	for (i = 0; i < 3; i++)
//		free(p[i]);
//	free(p);
//	p = NULL;
//
//	return 0;
//}